﻿<configuration>
  <!-- 
    id        ->  The key that identifies a component or facility 
    type      ->  The full type name of the facility or component implementation Format: Namespace.TypeName,AssemblyName
    service   ->  The full type name of the service (interface) implemented by the component. 
    parameters -> Specify a list of parameters that the container can use when resolving dependencies. 
                  The child nodes should use properties names or constructors arguments names. 
  -->
  <components>
    <!--CollateralSnapShot - Starts-->
    <component	id="EventAggregator"
           type="Microsoft.Practices.Composite.Events.EventAggregator,Microsoft.Practices.Composite.EventAggregators"
           service="Microsoft.Practices.Composite.Events.IEventAggregator,Microsoft.Practices.Composite.EventAggregators"
           lifestyle="Singleton">
    </component>
    
    <component	id="SqlMonitoringManager"
        type="CacheProvider.SqlMonitoringManager,CacheProvider"
        service="CacheProviderInterfaces.IDependencyMonitoringManager,CacheProviderInterfaces"
        lifestyle="Transient">
    </component>

    <!--ToDo: Analyze whether it can be Singleton-->
    <component	id="LogWriter"
        type="CacheProviderUtilities.EntLibLogWriter,CacheProviderUtilities"
        service="CacheProviderInterfaces.ILogWriter,CacheProviderInterfaces"
        lifestyle="Transient">
    </component>
  </components>
</configuration>